package com.innovations.inn.mapper;

import com.innovations.inn.domain.EnterpriseModify;
import com.innovations.inn.domain.response.ResponseEnterpriseModifyInfo;
import com.innovations.inn.domain.response.ResponseEnterpriseModifyInfoAll;
import com.innovations.inn.domain.response.ResponseItemCount;
import java.util.List;

/**
 * 企业信息修改记录Mapper接口
 *
 * @author dp
 * @date 2024-11-08
 */
public interface EnterpriseModifyMapper {
    /**
     * 查询企业信息修改记录
     *
     * @param enterpriseId 企业信息修改记录主键
     * @return 企业信息修改记录
     */
    EnterpriseModify selectEnterpriseModifyByEnterpriseId(Long enterpriseId);

    /**
     * 查询企业信息修改记录列表
     *
     * @param enterpriseModify 企业信息修改记录
     * @return 企业信息修改记录集合
     */
    List<EnterpriseModify> selectEnterpriseModifyList(EnterpriseModify enterpriseModify);

    /**
     * 查询企业详细信息列表
     *
     * @param enterpriseModify 企业信息修改记录
     * @return 企业信息修改记录
     */
    List<ResponseEnterpriseModifyInfo> selectEnterpriseModifyListInfo(EnterpriseModify enterpriseModify);

    /**
     * 查询企业及资质详细信息列表
     *
     * @param enterpriseModify 企业信息修改记录
     * @return 企业信息修改记录
     */
    List<ResponseEnterpriseModifyInfoAll> selectEnterpriseModifyListInfoAll(EnterpriseModify enterpriseModify);

    /**
     * 查询企业及资质详细信息合计
     *
     * @param enterpriseModify 企业信息修改记录
     * @return 企业信息修改记合计
     */
    List<ResponseItemCount> selectEnterpriseModifyListInfoAllCount(EnterpriseModify enterpriseModify);

    /**
     * 新增企业信息修改记录
     *
     * @param enterpriseModify 企业信息修改记录
     * @return 结果
     */
    int insertEnterpriseModify(EnterpriseModify enterpriseModify);

    /**
     * 修改企业信息修改记录
     *
     * @param enterpriseModify 企业信息修改记录
     * @return 结果
     */
    int updateEnterpriseModify(EnterpriseModify enterpriseModify);

    /**
     * 删除企业信息修改记录
     *
     * @param enterpriseId 企业信息修改记录主键
     * @return 结果
     */
    int deleteEnterpriseModifyByEnterpriseId(Long enterpriseId);

    /**
     * 批量删除企业信息修改记录
     *
     * @param enterpriseIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteEnterpriseModifyByEnterpriseIds(Long[] enterpriseIds);
}
